Local Verification of Global Invariants in Concurrent Programs

نویسندگان

  • Ernie Cohen
  • Michal Moskal
  • Wolfram Schulte
  • Stephan Tobies
چکیده

We describe a practical method for reasoning about realistic concurrent programs. Our method allows global two-state invariants that restrict update of shared state. We provide simple, sufficient conditions for checking those global invariants modularly. The method has been implemented in VCC, an automatic, sound, modular verifier for concurrent C programs. VCC has been used to verify functional correctness of tens of thousands of lines of Microsoft’s Hyper-V virtualization platform and of SYSGO’s embedded real-time operating system PikeOS.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Efficiently Inferring Thread Correlations

We present a new analysis for proving properties of finegrained concurrent programs with a shared, mutable, heap in the presence of an unbounded number of objects and threads. The properties we address include memory safety, data structure invariants, partial correctness, and linearizability. Our techniques enable successful verification of programs that were not be handled by previous concurre...

متن کامل

Verification of Multithreaded Object-Oriented Programs with Invariants

Developing safe multithreaded software systems is difficult due to the potential unwanted interference among concurrent threads. This paper presents a sound, modular, and simple verification technique for multithreaded object-oriented programs with object invariants. Based on a recent methodology for object invariants in single-threaded programs, this new verification technique enables leak-pro...

متن کامل

Abstract Transformers for Thread Correlation Analysis

Transformers for Thread Correlation Analysis M. Segalov, T. Lev-Ami, R. Manevich, G. Ramalingam, and M. Sagiv 1 Tel Aviv University, {tla,segalovm,msagiv}@post.tau.ac.il 2 University of California Los Angeles, [email protected] 3 Microsoft Research India, [email protected] Abstract. We present a new technique for speeding up static analysis of (shared memory) concurrent programs. We focus on ...

متن کامل

History-Based Verification of Functional Behaviour of Concurrent Programs

We extend permission-based separation logic with a historybased mechanism to simplify the verification of functional properties in concurrent programs. This allows one to specify the local behaviour of a method intuitively in terms of actions added to a local history; local histories can be combined into global histories, and by resolving the global histories, the reachable state properties can...

متن کامل

Thread Quantification for Concurrent Shape Analysis

We present new algorithms for automatically verifying properties of programs with an unbounded number of threads. Our algorithms are based on a new abstract domain whose elements represent thread-quantified invariants: i.e., invariants satified by all threads. We exploit existing abstractions to represent the invariants. Thus, our technique lifts existing abstractions by wrapping universal quan...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010